home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 32 / Mac Magazin and MacEasy Magazine CD - Issue 32.iso / Grafik & Text / OzTeX3.0 / TeX-inputs / LaTeX / base / slides.def < prev    next >
Text File  |  1997-03-07  |  20KB  |  551 lines

  1. %%
  2. %% This is file `slides.def',
  3. %% generated with the docstrip utility.
  4. %%
  5. %% The original source files were:
  6. %%
  7. %% slides.dtx  (with options: `cmd')
  8. %% 
  9. %% This is a generated file.
  10. %% 
  11. %% Copyright 1993 1994 1995 1996 1997
  12. %% The LaTeX3 Project and any individual authors listed elsewhere
  13. %% in this file.
  14. %% 
  15. %% For further copyright information, and conditions for modification
  16. %% and distribution, see the file legal.txt, and any other copyright
  17. %% notices in this file.
  18. %% 
  19. %% This file is part of the LaTeX2e system.
  20. %% ----------------------------------------
  21. %%   This system is distributed in the hope that it will be useful,
  22. %%   but WITHOUT ANY WARRANTY; without even the implied warranty of
  23. %%   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  24. %% 
  25. %%   For error reports concerning UNCHANGED versions of this file no
  26. %%   more than one year old, see bugs.txt.
  27. %% 
  28. %%   Please do not request updates from us directly.  Primary
  29. %%   distribution is through the CTAN archives.
  30. %% 
  31. %% 
  32. %% IMPORTANT COPYRIGHT NOTICE:
  33. %% 
  34. %% You are NOT ALLOWED to distribute this file alone.
  35. %% 
  36. %% You are allowed to distribute this file under the condition that it
  37. %% is distributed together with all the files listed in manifest.txt.
  38. %% 
  39. %% If you receive only some of these files from someone, complain!
  40. %% 
  41. %% 
  42. %% Permission is granted to copy this file to another file with a
  43. %% clearly different name and to customize the declarations in that
  44. %% copy to serve the needs of your installation, provided that you
  45. %% comply with the conditions in the file legal.txt.
  46. %% 
  47. %% However, NO PERMISSION is granted to generate or to distribute a
  48. %% modified version of this file under its original name.
  49. %% 
  50. %% You are NOT ALLOWED to change this file.
  51. %% 
  52. %% 
  53. %% MODIFICATION ADVICE:
  54. %% 
  55. %% If you want to customize this file, it is best to make a copy of
  56. %% the source file(s) from which it was produced.  Use a different
  57. %% name for your copy(ies) and modify the copy(ies); this will ensure
  58. %% that your modifications do not get overwritten when you install a
  59. %% new release of the standard system.  You should also ensure that
  60. %% your modified source file does not generate any modified file with
  61. %% the same name as a standard file.
  62. %% 
  63. %% You can then easily distribute your modifications by distributing
  64. %% the modified and renamed copy of the source file, taking care to
  65. %% observe the conditions in legal.txt; this will ensure that other
  66. %% users can safely use your modifications.
  67. %% 
  68. %% You will also need to produce your own, suitably named, .ins file to
  69. %% control the generation of files from your source file; this file
  70. %% should contain your own preambles for the files it generates, not
  71. %% those in the standard .ins files.
  72. %% 
  73. %% The names of the source files used are shown above.
  74. %% 
  75. %% 
  76. %% 
  77. %% \CharacterTable
  78. %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
  79. %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
  80. %%   Digits        \0\1\2\3\4\5\6\7\8\9
  81. %%   Exclamation   \!     Double quote  \"     Hash (number) \#
  82. %%   Dollar        \$     Percent       \%     Ampersand     \&
  83. %%   Acute accent  \'     Left paren    \(     Right paren   \)
  84. %%   Asterisk      \*     Plus          \+     Comma         \,
  85. %%   Minus         \-     Point         \.     Solidus       \/
  86. %%   Colon         \:     Semicolon     \;     Less than     \<
  87. %%   Equals        \=     Greater than  \>     Question mark \?
  88. %%   Commercial at \@     Left bracket  \[     Backslash     \\
  89. %%   Right bracket \]     Circumflex    \^     Underscore    \_
  90. %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  91. %%   Right brace   \}     Tilde         \~}
  92. \ProvidesFile{slides.def}
  93.               [1996/09/09 v2.3y
  94.                SLiTeX definitions]
  95. \message{hacks,}
  96.  
  97. \outer\def\newifG#1{\count@\escapechar \escapechar\m@ne
  98.   \expandafter\expandafter\expandafter
  99.    \edef\@ifG#1{true}{\global\let\noexpand#1\noexpand\iftrue}%
  100.   \expandafter\expandafter\expandafter
  101.    \edef\@ifG#1{false}{\global\let\noexpand#1\noexpand\iffalse}%
  102.   \@ifG#1{false}\escapechar\count@} % the condition starts out false
  103. \def\@ifG#1#2{\csname\expandafter\ifG@\string#1#2\endcsname}
  104. {\uccode`1=`i \uccode`2=`f \uccode`3=`G \uppercase{\gdef\ifG@123{G}}}
  105.  % `ifG' is required
  106.  
  107. \def\@gobbletoend#1{\def\@argend{#1}\@ggobtoend}
  108.  
  109. \long\def\@ggobtoend#1\end#2{\fi\def\reserved@a{#2}%
  110. \ifx\reserved@a\@argend\else\@ggobtoend\fi}
  111.  \message{slides,}
  112. \newif\if@bw
  113. \newif\if@visible
  114. \newif\if@onlyslidesw \@onlyslideswfalse
  115. \newif\if@onlynotesw  \@onlynoteswfalse
  116. \newif\if@makingslides
  117. \newifG\ifG@slidesw
  118. \countdef\c@slide=0 \c@slide=0
  119. \def\cl@slide{}
  120. \countdef\c@overlay=1 \c@overlay=0
  121. \def\cl@overlay{}
  122. \countdef\c@note=2 \c@note=0
  123. \def\cl@note{}
  124. \def\cl@@ckpt{\@elt{slide}\@elt{overlay}\@elt{note}}
  125.  
  126. \@addtoreset{overlay}{slide}
  127. \@addtoreset{note}{slide}
  128. \@definecounter{page}
  129. \@addtoreset{page}{slide}
  130. \@addtoreset{page}{note}
  131. \@addtoreset{page}{overlay}
  132.  
  133. \def\theslide{\@arabic\c@slide}
  134. \def\theoverlay{\theslide-\@alph\c@overlay}
  135. \def\thenote{\theslide-\@arabic\c@note}
  136. \def\@sl@getargs#1-#2-#3\relax#4#5{\xdef#4{#1}\xdef#5{#2}}
  137. \def\@sl@ccdr#1,#2\relax#3#4{\xdef#3{#1-#1-}\xdef#4{#2}}
  138.  
  139. \def\@setlimits #1#2#3{\expandafter\@sl@ccdr#1\relax\@sl@gtmp #1%
  140. \expandafter\@sl@getargs\@sl@gtmp\relax#2#3}
  141. \def\onlyslides#1{\@onlyslideswtrue
  142.    \gdef\@doglslidelist{#1,999999,999999}%
  143.    \if@onlynotesw \else
  144.       \@onlynoteswtrue\gdef\@doglnotelist{999999,999999}\fi
  145.    \typeout{Only Slides #1}}
  146. \def\onlynotes#1{\@onlynoteswtrue
  147.    \gdef\@doglnotelist{#1,999999,999999}%
  148.    \if@onlyslidesw \else
  149.       \@onlyslideswtrue\gdef\@doglslidelist{999999,999999}\fi
  150.    \typeout{Only Notes #1}}
  151. \if@compatibility
  152. \def\blackandwhite#1{\newpage\setcounter{page}{0}\@bwtrue\@visibletrue
  153. \if@onlyslidesw \xdef\@doslidelist{\@doglslidelist}%
  154. \@setlimits\@doslidelist\@doslidelow\@doslidehigh\fi
  155. \if@onlynotesw \xdef\@donotelist{\@doglnotelist}%
  156. \@setlimits\@donotelist\@donotelow\@donotehigh\fi
  157. \normalsize\setcounter{slide}{0}\setcounter{overlay}{0}%
  158. \setcounter{note}{0}\@makingslidestrue\input #1\@makingslidesfalse}
  159. \def\colors#1{\@for\@colortemp:=#1\do{\expandafter
  160.   \xdef\csname\@colortemp\endcsname{\noexpand\@color{\@colortemp}}}\ifx
  161.   \@colorlist\@empty \gdef\@colorlist{#1}%
  162.     \else \xdef\@colorlist{\@colorlist,#1}\fi}
  163.  
  164. \def\@colorlist{}
  165. \def\colorslides#1{\newpage\setcounter{page}{0}\@bwfalse
  166. \@for\@currcolor:=\@colorlist\do
  167. {\@visibletrue
  168. \if@onlyslidesw \xdef\@doslidelist{\@doglslidelist}%
  169. \@setlimits\@doslidelist\@doslidelow\@doslidehigh\fi
  170. \if@onlynotesw \xdef\@donotelist{\@doglnotelist}%
  171. \@setlimits\@donotelist\@donotelow\@donotehigh\fi
  172. \normalsize\setcounter{slide}{0}\setcounter{overlay}{0}%
  173. \setcounter{note}{0}\typeout{color \@currcolor}%
  174. \newpage
  175. \begin{huge}%
  176. \begin{center}%
  177. COLOR LAYER\\[.75in]%
  178. \@currcolor
  179. \end{center}%
  180. \end{huge}%
  181. \newpage
  182. \@makingslidestrue
  183. \input #1
  184. \@makingslidesfalse}}
  185. \else  %% if@compatibility
  186. \def\setupcounters{\newpage\setcounter{page}{0}\@bwtrue\@visibletrue
  187. \if@onlyslidesw \xdef\@doslidelist{\@doglslidelist}%
  188. \@setlimits\@doslidelist\@doslidelow\@doslidehigh\fi
  189. \if@onlynotesw \xdef\@donotelist{\@doglnotelist}%
  190. \@setlimits\@donotelist\@donotelow\@donotehigh\fi
  191. \normalsize\setcounter{slide}{0}\setcounter{overlay}{0}%
  192. \setcounter{note}{0}\@makingslidesfalse}
  193.  
  194. \AtBeginDocument{\setupcounters}
  195. \fi %% if@compatibility
  196. \if@compatibility
  197. \def\slide#1{\stepcounter{slide}\G@slideswtrue\if@onlyslidesw
  198. \@whilenum \c@slide >\@doslidehigh\relax
  199. \do{\@setlimits\@doslidelist\@doslidelow\@doslidehigh}\ifnum
  200. \c@slide <\@doslidelow\relax\G@slideswfalse\fi\fi
  201. \ifG@slidesw
  202.   \G@slideswfalse
  203.   \if@bw\G@slideswtrue\else
  204.     \@color{#1}\if@visible \G@slideswtrue \fi
  205.   \fi
  206. \fi
  207. \ifG@slidesw \newpage\thispagestyle{slide}%
  208. \csname \last@color \endcsname
  209. \else\end{slide}\@gobbletoend{slide}\fi}
  210. \else  %% if@compatibility
  211. \def\slide{\par\break
  212. \stepcounter{slide}\setcounter{page}{0}\G@slideswtrue\if@onlyslidesw
  213. \@whilenum \c@slide >\@doslidehigh\relax
  214. \do{\@setlimits\@doslidelist\@doslidelow\@doslidehigh}\ifnum
  215. \c@slide <\@doslidelow\relax\G@slideswfalse\fi\fi
  216. \ifG@slidesw
  217.   \G@slideswfalse
  218.   \if@bw\G@slideswtrue\else
  219.     \if@visible \G@slideswtrue \fi
  220.   \fi
  221. \fi
  222. \ifG@slidesw \@makingslidestrue\thispagestyle{slide}%
  223. \csname \last@color \endcsname
  224. \else\end{slide}\@gobbletoend{slide}\fi}
  225. \fi %% if@compatibility
  226.  
  227. \let\last@color\@empty
  228.  
  229. \def\endslide{\par\break}
  230. \if@compatibility
  231. \def\overlay#1{\stepcounter{overlay}\G@slideswtrue%
  232. \if@onlyslidesw\ifnum \c@slide <\@doslidelow\relax
  233. \G@slideswfalse\fi\fi
  234. \ifG@slidesw \G@slideswfalse\begingroup\if@bw\G@slideswtrue%
  235. \else\@color{#1}\if@visible \G@slideswtrue\fi\fi\endgroup\fi
  236. \ifG@slidesw \newpage\thispagestyle{overlay}%
  237. \else\end{overlay}\@gobbletoend{overlay}\fi}
  238. \else %%if@compatibility
  239. \def\overlay{\par\break
  240.   \stepcounter{overlay}%
  241.   \setcounter{page}{0}%
  242.   \G@slideswtrue%
  243.   \if@onlyslidesw\ifnum \c@slide <\@doslidelow\relax
  244.     \G@slideswfalse\fi\fi
  245.   \ifG@slidesw \G@slideswfalse
  246.     \begingroup\if@bw\G@slideswtrue%
  247.                \else\if@visible \G@slideswtrue\fi\fi
  248.     \endgroup\fi
  249.   \ifG@slidesw \@makingslidestrue\thispagestyle{overlay}%
  250.   \else\end{overlay}\@gobbletoend{overlay}\fi}
  251. \fi %%if@compatibility
  252.  
  253. \def\endoverlay{\par\break}
  254. \if@compatibility
  255. \def\note{\stepcounter{note}%
  256.    \if@bw
  257.       \G@slideswtrue
  258.       \if@onlynotesw\@whilenum \c@slide >\@donotehigh\relax
  259.       \do{\@setlimits\@donotelist\@donotelow\@donotehigh}\ifnum
  260.         \c@slide <\@donotelow\relax \G@slideswfalse\fi\fi
  261.       \else\G@slideswfalse\fi
  262.       \ifG@slidesw \newpage\thispagestyle{note}\else
  263.       \end{note}\@gobbletoend{note}\fi}
  264. \else %%if@compatibility
  265. \def\note{\par\break\stepcounter{note}\setcounter{page}{0}%
  266.    \if@bw
  267.       \G@slideswtrue
  268.       \if@onlynotesw\@whilenum \c@slide >\@donotehigh\relax
  269.       \do{\@setlimits\@donotelist\@donotelow\@donotehigh}\ifnum
  270.         \c@slide <\@donotelow\relax \G@slideswfalse\fi\fi
  271.       \else\G@slideswfalse\fi
  272.       \ifG@slidesw \@makingslidestrue\thispagestyle{note}\else
  273.       \end{note}\@gobbletoend{note}\fi}
  274. \fi %%if@compatibility
  275.  
  276. \def\endnote{\par\break}
  277. \def\@color#1{\@mmodetest
  278.  {\if@bw \@tempswatrue \else \@tempswafalse
  279.    \@for \reserved@a :=#1\do{\ifx\reserved@a\@currcolor\@tempswatrue\fi
  280.                          \let\last@color\reserved@a}\fi
  281.   \if@tempswa \visible \else \invisible \fi
  282.   \ignorespaces}}
  283.  
  284. \def\@mmodetest#1{\ifmmode\ClassWarning{slides}{Color-changing command
  285.        in math mode has been ignored}\else #1\fi}
  286.  
  287. \def\invisible{\@mmodetest
  288.   {\if@visible
  289.      \@visiblefalse
  290.      \fontshape\f@shape\selectfont
  291.      \mathversion{invisible}%
  292.    \fi
  293.    \ignorespaces}}
  294.  
  295. \def\visible{\@mmodetest
  296.   {\if@visible
  297.    \else
  298.      \@visibletrue
  299.      \fontshape{\expandafter\@gobble\f@shape}\selectfont
  300.      \mathversion{normal}%
  301.    \fi
  302.    \ignorespaces}}
  303.  
  304. \def\fontshape#1{\edef\f@shape{\if@visible \else I\fi #1}}
  305. \renewcommand{\familydefault}{\sfdefault}
  306. \DeclareFontFamily{U}{lasy}{}{}
  307. \DeclareFontShape{U}{lasy}{m}{n}{%
  308.       <12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>lasy8
  309. }{}
  310. \DeclareFontShape{U}{lasy}{m}{In}{%
  311.       <13.82><16.59><19.907><23.89><28.66><34.4><41.28>ilasy8
  312. }{}
  313. \message{picture,}
  314. \def\line(#1,#2)#3{\if@visible\@xarg #1\relax \@yarg #2\relax
  315. \@linelen #3\unitlength
  316. \ifnum\@xarg =\z@ \@vline
  317.   \else \ifnum\@yarg =\z@ \@hline \else \@sline\fi
  318. \fi\fi}
  319.  
  320. \def\vector(#1,#2)#3{\if@visible\@xarg #1\relax \@yarg #2\relax
  321. \@linelen #3\unitlength
  322. \ifnum\@xarg =\z@ \@vvector
  323.   \else \ifnum\@yarg =\z@ \@hvector \else \@svector\fi
  324. \fi\fi}
  325.  
  326. \def\dashbox#1(#2,#3){%
  327. \leavevmode\if@visible\hb@xt@\z@{\baselineskip \z@
  328. \lineskip \z@
  329. \@dashdim #2\unitlength
  330. \@dashcnt \@dashdim \advance\@dashcnt 200
  331. \@dashdim #1\unitlength\divide\@dashcnt \@dashdim
  332. \ifodd\@dashcnt\@dashdim\z@
  333. \advance\@dashcnt \@ne \divide\@dashcnt \tw@
  334. \else \divide\@dashdim \tw@ \divide\@dashcnt \tw@
  335. \advance\@dashcnt \m@ne
  336. \setbox\@dashbox \hbox{\vrule \@height \@halfwidth \@depth \@halfwidth
  337. \@width \@dashdim}\put(0,0){\copy\@dashbox}%
  338. \put(0,#3){\copy\@dashbox}%
  339. \put(#2,0){\hskip-\@dashdim\copy\@dashbox}%
  340. \put(#2,#3){\hskip-\@dashdim\box\@dashbox}%
  341. \multiply\@dashdim \thr@@
  342. \fi
  343. \setbox\@dashbox \hbox{\vrule \@height \@halfwidth \@depth \@halfwidth
  344. \@width #1\unitlength\hskip #1\unitlength}\@tempcnta\z@
  345. \put(0,0){\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt
  346. \do{\copy\@dashbox\advance\@tempcnta \@ne }}\@tempcnta\z@
  347. \put(0,#3){\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt
  348. \do{\copy\@dashbox\advance\@tempcnta \@ne }}%
  349. \@dashdim #3\unitlength
  350. \@dashcnt=\@dashdim \advance\@dashcnt 200
  351. \@dashdim #1\unitlength\divide\@dashcnt \@dashdim
  352. \ifodd\@dashcnt \@dashdim=\z@
  353. \advance\@dashcnt \@ne \divide\@dashcnt \tw@
  354. \else
  355. \divide\@dashdim \tw@ \divide\@dashcnt \tw@
  356. \advance\@dashcnt \m@ne
  357. \setbox\@dashbox\hbox{\hskip -\@halfwidth
  358. \vrule \@width \@wholewidth
  359. \@height \@dashdim}\put(0,0){\copy\@dashbox}%
  360. \put(#2,0){\copy\@dashbox}%
  361. \put(0,#3){\lower\@dashdim\copy\@dashbox}%
  362. \put(#2,#3){\lower\@dashdim\copy\@dashbox}%
  363. \multiply\@dashdim \thr@@
  364. \fi
  365. \setbox\@dashbox\hbox{\vrule \@width \@wholewidth
  366. \@height #1\unitlength}\@tempcnta\z@
  367. \put(0,0){\hskip -\@halfwidth \vbox{\@whilenum \@tempcnta <\@dashcnt
  368. \do{\vskip #1\unitlength\copy\@dashbox\advance\@tempcnta \@ne }%
  369. \vskip\@dashdim}}\@tempcnta\z@
  370. \put(#2,0){\hskip -\@halfwidth \vbox{\@whilenum \@tempcnta <\@dashcnt
  371. \relax\do{\vskip #1\unitlength\copy\@dashbox\advance\@tempcnta \@ne }%
  372. \vskip\@dashdim}}}\fi\@makepicbox(#2,#3)}
  373.  
  374. \def\@oval(#1,#2)[#3]{\if@visible\begingroup \boxmaxdepth \maxdimen
  375.   \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
  376.   \@tfor\reserved@a :=#3\do
  377.      {\csname @ov\reserved@a false\endcsname}\@ovxx
  378.   #1\unitlength \@ovyy #2\unitlength
  379.   \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx\else \@ovyy \fi
  380.   \advance \@tempdimb -2\p@
  381.   \@getcirc \@tempdimb
  382.   \@ovro \ht\@tempboxa \@ovri \dp\@tempboxa
  383.   \@ovdx\@ovxx \advance\@ovdx -\@tempdima \divide\@ovdx \tw@
  384.   \@ovdy\@ovyy \advance\@ovdy -\@tempdima \divide\@ovdy \tw@
  385.   \@circlefnt \setbox\@tempboxa
  386.   \hbox{\if@ovr \@ovvert32\kern -\@tempdima \fi
  387.   \if@ovl \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx \fi
  388.   \if@ovt \@ovhorz \kern -\@ovxx \fi
  389.   \if@ovb \raise \@ovyy \@ovhorz \fi}\advance\@ovdx\@ovro
  390.   \advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@
  391.   \@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}%
  392.   \endgroup\fi}
  393.  
  394. \def\@circle#1{\if@visible \begingroup \boxmaxdepth \maxdimen
  395.    \@tempdimb #1\unitlength
  396.    \ifdim \@tempdimb >15.5\p@\relax \@getcirc\@tempdimb
  397.       \@ovro\ht\@tempboxa
  398.      \setbox\@tempboxa\hbox{\@circlefnt
  399.       \advance\@tempcnta\tw@ \char \@tempcnta
  400.       \advance\@tempcnta\m@ne \char \@tempcnta \kern -2\@tempdima
  401.       \advance\@tempcnta\tw@
  402.       \raise \@tempdima \hbox{\char\@tempcnta}\raise \@tempdima
  403.         \box\@tempboxa}\ht\@tempboxa\z@ \dp\@tempboxa\z@
  404.       \@put{-\@ovro}{-\@ovro}{\box\@tempboxa}%
  405.    \else  \@circ\@tempdimb{96}\fi\endgroup\fi}
  406.  
  407. \def\@dot#1{%
  408.   \if@visible\@tempdimb #1\unitlength \@circ\@tempdimb{112}\fi}
  409. \def\@frameb@x#1{%
  410.   \@tempdima\fboxrule
  411.   \advance\@tempdima\fboxsep
  412.   \advance\@tempdima\dp\@tempboxa
  413.   \leavevmode
  414.   \hbox{%
  415.     \lower\@tempdima\hbox{%
  416.       \vbox{%
  417.         \if@visible\hrule\@height\else\vskip\fi\fboxrule
  418.         \hbox{%
  419.           \if@visible\vrule\@width\else\hskip\fi\fboxrule
  420.           #1%
  421.           \vbox{%
  422.             \vskip\fboxsep
  423.             \box\@tempboxa
  424.             \vskip\fboxsep}%
  425.           #1%
  426.           \if@visible\vrule\@width\else\hskip\fi\fboxrule}%
  427.         \if@visible\hrule\@height\else\vskip\fi\fboxrule}}}}
  428.  
  429. \long\def\frame#1{\if@visible\leavevmode
  430. \vbox{\vskip-\@halfwidth\hrule \@height\@halfwidth \@depth \@halfwidth
  431.   \vskip-\@halfwidth\hbox{\hskip-\@halfwidth \vrule \@width\@wholewidth
  432.   \hskip-\@halfwidth #1\hskip-\@halfwidth \vrule \@width \@wholewidth
  433.   \hskip -\@halfwidth}\vskip -\@halfwidth\hrule \@height \@halfwidth
  434.   \@depth \@halfwidth\vskip -\@halfwidth}\else #1\fi}
  435. \message{mods,}
  436. \def\@rule[#1]#2#3{\@tempdima#3\advance\@tempdima #1\leavevmode
  437.  \hbox{\if@visible\vrule
  438.   \@width#2 \@height\@tempdima \@depth-#1\else
  439. \vrule \@width \z@ \@height\@tempdima \@depth-#1\vrule
  440.  \@width#2 \@height\z@\fi}}
  441.  
  442.  
  443. \def\_{\leavevmode \kern.06em \if@visible\vbox{\hrule \@width.3em}\else
  444.    \vbox{\hrule \@height \z@ \@width.3em}\vbox{\hrule \@width \z@}\fi}
  445. \def\@mathbox#1#2#3{\setbox#2\hbox{$\m@th#1{#3}$}}
  446.  
  447. \def\@vbphantom#1{\setbox\tw@\null \ht\tw@\ht #1\dp\tw@\dp #1%
  448.    \box\tw@}
  449.  
  450. \def\@bphantom#1{\setbox\tw@\null
  451.    \wd\tw@\wd #1\ht\tw@\ht #1\dp\tw@\dp #1%
  452.    \box\tw@}
  453.  
  454. \def\@hbphantom#1{\setbox\tw@\null \wd\tw@\wd #1\ht\tw@\z@ \dp\tw@\z@
  455.    \box\tw@}
  456.  
  457. \def\@hvsmash#1#2{\@mathbox#1\z@{#2}\ht\z@\z@ \dp\z@\z@ \wd\z@\z@
  458.    \box\z@}
  459.  
  460. \def\underline#1{\relax\ifmmode
  461.   \@xunderline{#1}\else $\m@th\@xunderline{\hbox{#1}}$\relax\fi}
  462.  
  463. \def\@xunderline#1{\mathchoice{\@xyunderline\displaystyle{#1}}%
  464.    {\@xyunderline
  465.     \textstyle{#1}}{\@xyunderline\scriptstyle{#1}}{\@xyunderline
  466.       \scriptscriptstyle{#1}}}
  467.  
  468. \def\@xyunderline#1#2{%
  469.    \@mathbox#1\@smashboxa{#2}\@hvsmash#1{\copy\@smashboxa}%
  470.    \if@visible \@hvsmash#1{\@@underline{\@bphantom\@smashboxa}}\fi
  471.   \@mathbox#1\@smashboxb{\@@underline{\box\@smashboxa}}%
  472.    \@bphantom\@smashboxb}
  473.  
  474. \let\@@overline=\overline
  475.  
  476. \def\overline#1{\mathchoice{\@xoverline\displaystyle{#1}}{\@xoverline
  477.     \textstyle{#1}}{\@xoverline\scriptstyle{#1}}{\@xoverline
  478.       \scriptscriptstyle{#1}}}
  479.  
  480. \def\@xoverline#1#2{%
  481.    \@mathbox#1\@smashboxa{#2}\@hvsmash#1{\copy\@smashboxa}%
  482.    \if@visible \@hvsmash#1{\@@overline{\@bphantom\@smashboxa}}\fi
  483.    \@mathbox#1\@smashboxb{\@@overline{\box\@smashboxa}}%
  484.    \@bphantom\@smashboxb}
  485. \def\frac#1#2{\mathchoice
  486.    {\@frac\displaystyle\textstyle{#1}{#2}\textfont}{\@frac
  487.          \textstyle\scriptstyle{#1}{#2}\textfont}{\@frac
  488.          \scriptstyle\scriptscriptstyle{#1}{#2}\scriptfont}{\@frac
  489.          \scriptscriptstyle\scriptscriptstyle{#1}{#2}\scriptscriptfont}}
  490.  
  491. \def\@frac#1#2#3#4#5{%
  492.    \@mathbox#1\@smashboxc{{\begingroup#3\endgroup\over#4}}%
  493.    \setbox\tw@\null
  494.    \ht\tw@ \ht\@smashboxc
  495.    \dp\tw@ \dp\@smashboxc
  496.    \wd\tw@ \wd\@smashboxc
  497.    \box\if@visible\@smashboxc\else\tw@\fi}
  498.  
  499. \def\r@@t#1#2{\setbox\z@\hbox{$\m@th#1\@xysqrt#1{#2}$}%
  500.   \dimen@\ht\z@ \advance\dimen@-\dp\z@
  501.   \mskip5mu\raise.6\dimen@\copy\rootbox \mskip-10mu\box\z@}
  502. \def\sqrt{\@ifnextchar[{\@sqrt}{\@xsqrt}}
  503. \def\@sqrt[#1]{\root #1\of}
  504. \def\@xsqrt#1{\mathchoice{\@xysqrt\displaystyle{#1}}{\@xysqrt
  505.      \textstyle{#1}}{\@xysqrt\scriptstyle{#1}}{\@xysqrt
  506.     \scriptscriptstyle{#1}}}
  507. \def\@xysqrt#1#2{\@mathbox#1\@smashboxa{#2}\if@visible
  508.     \@hvsmash#1{\sqrtsign{\@bphantom\@smashboxa}}\fi
  509.     \phantom{\sqrtsign{\@vbphantom\@smashboxa}}\box\@smashboxa}
  510.  
  511. \newbox\@smashboxa
  512. \newbox\@smashboxb
  513. \newbox\@smashboxc
  514. \def\@arrayrule{\if@visible\@addtopreamble{\hskip -.5\arrayrulewidth
  515.    \vrule \@width \arrayrulewidth\hskip -.5\arrayrulewidth}\fi}
  516. \def\cline#1{\if@visible\@cline#1\@nil\fi}
  517.  
  518. \def\hline{\noalign{\ifnum0=`}\fi
  519.     \if@visible \hrule \@height \arrayrulewidth
  520.       \else \hrule \@width \z@
  521.     \fi
  522.     \futurelet \reserved@a\@xhline}
  523.  
  524. \def\vline{\if@visible \vrule \@width \arrayrulewidth
  525.             \else \vrule \@width \arrayrulewidth \@height \z@
  526.            \@depth \z@ \fi}
  527. \message{output,}
  528. \let\@topfil\vfil
  529.  
  530. \def\@makecol{\if@makingslides\ifnum\c@page>\z@ \@extraslide\fi\fi
  531. \ifvoid\footins \setbox\@outputbox\box\@cclv \let\@botfil\vfil
  532.    \else\let\@botfil\relax\setbox\@outputbox
  533.      \vbox{\unvbox\@cclv\vfil
  534.            \vskip\skip\footins\footnoterule\unvbox\footins\vskip
  535.             \z@ plus.1fil\relax}\fi
  536.   \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats
  537.      \setbox\@outputbox\vbox to\@colht{\boxmaxdepth\maxdepth
  538.         \@topfil\unvbox\@outputbox\@botfil}\global\maxdepth\@maxdepth}
  539.  
  540. \def\@extraslide{\ifnum\c@note>\z@
  541.     \ClassWarning{slides}{Note \thenote\space too long}\else
  542.      \ifnum\c@overlay>\z@
  543.         \ClassWarning{slides}{Overlay \theoverlay\space too long}\else
  544.         \ClassWarning{slides}{Slide \theslide\space too long}\fi\fi}
  545. \message{init}
  546.  
  547. \@visibletrue
  548. \endinput
  549. %%
  550. %% End of file `slides.def'.
  551.